1. Technical Field
The present invention relates generally to computer systems and, in particular, to a method and apparatus for predicting the performance of a computer system based on the types of active devices in the computer system as well as the number of such devices.
2. Description of Related Art
With respect to a computer system that includes a plurality of personal computers, workstations, storage servers, database servers, mainframes, network-attached devices, routers, firewalls, and other devices, all interconnected by wired or wireless interconnection networks, the phrase “capacity management” refers to the management of shared or private computational, storage and communication resources to prevent their exhaustion. Such exhaustion of resources generally results in a loss of performance. Such resources include CPU utilization, disk utilization, available memory, server response time, available bandwidth at network nodes, and so forth. Some resources are private to individual machines, for example, the CPU utilization of personal computers. Other resources are shared, such as, for example, network bandwidth, the CPU utilization of transaction-processing systems and web-servers, the available disk space on storage servers, and so forth.
It is to be appreciated that the phrases “resource utilization” and “resource consumption” are used interchangeably herein. Additionally, as used herein, the term “resource” denotes generic monitored quantities.
Resource utilization has been described with respect to such techniques as linear regression and prediction. Some of these techniques are described by Kutner et al., in “Applied Statistical Models”, Richard D. Irwin, Inc., 1985. U.S. Ser. No. 09/706,737, entitled “Method and Apparatus for Preprocessing Technique for Forecasting in Capacity Management, Software Rejuvenation and Dynamic Resource Allocation Applications”, filed on Nov. 7, 2000, which is commonly assigned, and the disclosure of which is incorporated herein by reference, describes the use of preprocessed resource measurements to account for seasonal trends, or to decompose a measurement time series into a set of time series.
Conventional prediction of private-resource utilization customarily relies upon robust models that work under a wide range of assumptions. Such models are perforce simple: for example linear regression, combined with ARMA models for the error. It is also common to incorporate into the prediction mechanism corrections for periodic and seasonal trends (for example, daily, weekly, and monthly trends), that would otherwise reduce the reliability of the prediction.
The same techniques are also applied to the prediction of public-resource utilization. If the number of computing devices belonging to the computer system is fixed, this approach is sound. However, in reality, the number of computing devices connected to the network varies with time, and the above prediction methods fails to predict the impact of adding new devices.
When a private resource is monitored for capacity management, its predicted values are compared to a threshold that signifies exhaustion. For example, for available disk space, the threshold could be zero. For some resources there is no clear threshold. An example of such a resource is the response time of a server (storage, web, database, and so forth). Even for resources having a clear limit, the system performance could degrade significantly well before such limits are reached, and therefore a more conservative threshold should be used to guide capacity upgrades. Existing methods to account for this kind of behavior consist of injecting an artificial load on the network and measuring response times. The downsides of these methods are their disruptive nature (to measure saturation they induce it), and the artificial nature of the load, which need not reflect the actual characteristics of the real load experienced by the specific network.
Accordingly, it would be desirable and highly advantageous to have a method and apparatus for predicting the performance of a computer system, such method and apparatus overcoming the limitations and deficiencies of prior art methods and apparatus for accomplishing the same.